0.10/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.10/0.13 % Command : do_cvc5 %s %d 0.12/0.34 % Computer : n014.cluster.edu 0.12/0.34 % Model : x86_64 x86_64 0.12/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.12/0.34 % Memory : 8042.1875MB 0.12/0.34 % OS : Linux 3.10.0-693.el7.x86_64 0.12/0.34 % CPULimit : 1200 0.12/0.34 % WCLimit : 120 0.12/0.34 % DateTime : Tue Jul 13 13:22:49 EDT 2021 0.12/0.34 % CPUTime : 0.19/0.48 %----THF division 0.19/0.49 ------- cvc5-thf casc 28 : /export/starexec/sandbox2/benchmark/theBenchmark.p at 120... 0.19/0.49 --- Run --ho-elim --full-saturate-quant at 10... 10.34/10.57 --- Run --ho-elim --no-e-matching --full-saturate-quant at 10... 11.98/12.25 % SZS status Theorem for theBenchmark 11.98/12.25 % SZS output start Proof for theBenchmark 11.98/12.25 (proof 11.98/12.25 (let ((_let_1 (forall ((X5 nat)) (= (((listIn1312259492pend_a xs) f) X5) (((listIn1312259492pend_a ys) g) X5))))) (let ((_let_2 (= list_strict_desc_nat (lambda ((Xs2 list_nat)) (forall ((J nat)) (=> ((ord_less_nat J) (size_size_list_nat Xs2)) (forall ((I2 nat)) (let ((_let_1 (nth_nat Xs2))) (=> ((ord_less_nat I2) J) ((ord_less_nat (_let_1 J)) (_let_1 I2))))))))))) (let ((_let_3 (= list_strict_asc_nat (lambda ((Xs2 list_nat)) (forall ((J nat)) (=> ((ord_less_nat J) (size_size_list_nat Xs2)) (forall ((I2 nat)) (let ((_let_1 (nth_nat Xs2))) (=> ((ord_less_nat I2) J) ((ord_less_nat (_let_1 I2)) (_let_1 J))))))))))) (let ((_let_4 (= list_asc_nat linorder_sorted_nat))) (let ((_let_5 (forall ((N nat) (Xs list_a) (F (-> nat a))) (=> ((ord_less_nat N) (size_size_list_a Xs)) (= (((listIn1312259492pend_a Xs) F) N) ((nth_a Xs) N)))))) (let ((_let_6 (= linorder_sorted_nat (lambda ((Xs2 list_nat)) (forall ((I2 nat)) (let ((_let_1 (suc I2))) (let ((_let_2 (nth_nat Xs2))) (=> ((ord_less_nat _let_1) (size_size_list_nat Xs2)) ((ord_less_eq_nat (_let_2 I2)) (_let_2 _let_1)))))))))) (let ((_let_7 (not (forall ((I nat)) (or (not ((ord_less_nat I) (size_size_list_a xs))) (= ((nth_a xs) I) ((nth_a ys) I))))))) (let ((_let_8 (= list_ex_nat (lambda ((P3 (-> nat Bool)) (Xs2 list_nat)) (exists ((N2 nat)) (and (P3 ((nth_nat Xs2) N2)) ((ord_less_nat N2) (size_size_list_nat Xs2)))))))) (let ((_let_9 (= list_desc_nat (lambda ((Xs2 list_nat)) (forall ((J nat)) (=> ((ord_less_nat J) (size_size_list_nat Xs2)) (forall ((I2 nat)) (let ((_let_1 (nth_nat Xs2))) (=> ((ord_less_eq_nat I2) J) ((ord_less_eq_nat (_let_1 J)) (_let_1 I2))))))))))) (let ((_let_10 (forall ((B nat) (A nat) (C nat)) (=> ((ord_less_nat B) A) (=> ((ord_less_eq_nat C) B) ((ord_less_nat C) A)))))) (let ((_let_11 (= ord_less_nat (lambda ((M nat) (N2 nat)) (and ((ord_less_eq_nat M) N2) (not (= M N2))))))) (let ((_let_12 (= list_ex_a (lambda ((P3 (-> a Bool)) (Xs2 list_a)) (exists ((N2 nat)) (and ((ord_less_nat N2) (size_size_list_a Xs2)) (P3 ((nth_a Xs2) N2)))))))) (let ((_let_13 ((ord_less_eq_nat (size_size_list_a xs)) (size_size_list_a ys)))) (let ((_let_14 (ho_52 (ho_90 (ho_89 k_88 ys) k_100) skv_102))) (let ((_let_15 (ho_52 (ho_51 k_50 ys) skv_102))) (let ((_let_16 (= _let_15 _let_14))) (let ((_let_17 (ho_49 k_48 ys))) (let ((_let_18 (= _let_17 skv_102))) (let ((_let_19 (ho_35 k_34 skv_102))) (let ((_let_20 (ho_36 _let_19 _let_17))) (let ((_let_21 (not _let_20))) (let ((_let_22 (or _let_21 _let_18 _let_16))) (let ((_let_23 (ho_52 (ho_90 (ho_89 k_88 xs) k_101) skv_102))) (let ((_let_24 (ho_52 (ho_51 k_50 xs) skv_102))) (let ((_let_25 (= _let_24 _let_23))) (let ((_let_26 (= _let_14 _let_23))) (let ((_let_27 (= _let_15 _let_24))) (let ((_let_28 (not _let_16))) (let ((_let_29 (ho_49 k_48 xs))) (let ((_let_30 (= _let_29 skv_102))) (let ((_let_31 (ho_36 _let_19 _let_29))) (let ((_let_32 (not _let_31))) (let ((_let_33 (or _let_32 _let_30 _let_25))) (let ((_let_34 (forall ((N nat) (Xs list_a) (BOUND_VARIABLE_15462 |u_(-> nat a)|)) (let ((_let_1 (ho_49 k_48 Xs))) (or (not (ho_36 (ho_35 k_34 N) _let_1)) (= N _let_1) (= (ho_52 (ho_51 k_50 Xs) N) (ho_52 (ho_90 (ho_89 k_88 Xs) BOUND_VARIABLE_15462) N))))))) (let ((_let_35 (EQ_RESOLVE (ASSUME |:args| (_let_12)) (MACRO_SR_EQ_INTRO |:args| (_let_12 7 12))))) (let ((_let_36 (ASSUME |:args| (_let_11)))) (let ((_let_37 (EQ_RESOLVE (EQ_RESOLVE (ASSUME |:args| (_let_9)) (MACRO_SR_EQ_INTRO |:args| (_let_9 7 12))) (MACRO_SR_EQ_INTRO _let_36 _let_35 |:args| ((= list_desc_nat (lambda ((Xs2 list_nat)) (forall ((J nat) (BOUND_VARIABLE_4500 nat)) (let ((_let_1 (nth_nat Xs2))) (or (not ((ord_less_nat J) (size_size_list_nat Xs2))) (not ((ord_less_eq_nat BOUND_VARIABLE_4500) J)) ((ord_less_eq_nat (_let_1 J)) (_let_1 BOUND_VARIABLE_4500))))))) 7 12))))) (let ((_let_38 (EQ_RESOLVE (EQ_RESOLVE (ASSUME |:args| (_let_8)) (MACRO_SR_EQ_INTRO |:args| (_let_8 7 12))) (MACRO_SR_EQ_INTRO _let_37 _let_36 _let_35 |:args| ((= list_ex_nat (lambda ((P3 (-> nat Bool)) (Xs2 list_nat)) (not (forall ((N2 nat)) (or (not (P3 ((nth_nat Xs2) N2))) (not ((ord_less_nat N2) (size_size_list_nat Xs2)))))))) 7 12))))) (let ((_let_39 (EQ_RESOLVE (EQ_RESOLVE (ASSUME |:args| (_let_6)) (MACRO_SR_EQ_INTRO |:args| (_let_6 7 12))) (MACRO_SR_EQ_INTRO _let_38 _let_37 _let_36 _let_35 |:args| ((= linorder_sorted_nat (lambda ((Xs2 list_nat)) (forall ((I2 nat)) (let ((_let_1 (suc I2))) (let ((_let_2 (nth_nat Xs2))) (or (not ((ord_less_nat _let_1) (size_size_list_nat Xs2))) ((ord_less_eq_nat (_let_2 I2)) (_let_2 _let_1)))))))) 7 12))))) (let ((_let_40 (EQ_RESOLVE (ASSUME |:args| (_let_4)) (MACRO_SR_EQ_INTRO _let_39 _let_38 _let_37 _let_36 _let_35 |:args| (_let_4 7 12))))) (let ((_let_41 (EQ_RESOLVE (EQ_RESOLVE (ASSUME |:args| (_let_3)) (MACRO_SR_EQ_INTRO |:args| (_let_3 7 12))) (MACRO_SR_EQ_INTRO _let_40 _let_39 _let_38 _let_37 _let_36 _let_35 |:args| ((= list_strict_asc_nat (lambda ((Xs2 list_nat)) (forall ((J nat) (BOUND_VARIABLE_5858 nat)) (let ((_let_1 (nth_nat Xs2))) (or (not ((ord_less_nat J) (size_size_list_nat Xs2))) (not ((ord_less_nat BOUND_VARIABLE_5858) J)) ((ord_less_nat (_let_1 BOUND_VARIABLE_5858)) (_let_1 J))))))) 7 12))))) (let ((_let_42 (EQ_RESOLVE (EQ_RESOLVE (ASSUME |:args| (_let_2)) (MACRO_SR_EQ_INTRO |:args| (_let_2 7 12))) (MACRO_SR_EQ_INTRO _let_41 _let_40 _let_39 _let_38 _let_37 _let_36 _let_35 |:args| ((= list_strict_desc_nat (lambda ((Xs2 list_nat)) (forall ((J nat) (BOUND_VARIABLE_6013 nat)) (let ((_let_1 (nth_nat Xs2))) (or (not ((ord_less_nat J) (size_size_list_nat Xs2))) (not ((ord_less_nat BOUND_VARIABLE_6013) J)) ((ord_less_nat (_let_1 J)) (_let_1 BOUND_VARIABLE_6013))))))) 7 12))))) (let ((_let_43 (EQ_RESOLVE (ASSUME |:args| (_let_5)) (TRANS (MACRO_SR_EQ_INTRO |:args| (_let_5 7 12)) (MACRO_SR_EQ_INTRO _let_42 _let_41 _let_40 _let_39 _let_38 _let_37 _let_36 _let_35 |:args| ((forall ((N nat) (Xs list_a) (F (-> nat a))) (or (not ((ord_less_nat N) (size_size_list_a Xs))) (= (((listIn1312259492pend_a Xs) F) N) ((nth_a Xs) N)))) 7 12)) (PREPROCESS |:args| ((= (forall ((N nat) (Xs list_a) (F (-> nat a))) (let ((_let_1 (size_size_list_a Xs))) (or (not ((ord_less_eq_nat N) _let_1)) (= N _let_1) (= (((listIn1312259492pend_a Xs) F) N) ((nth_a Xs) N))))) _let_34))))))) (let ((_let_44 (_let_34))) (let ((_let_45 (or _let_32 _let_30 _let_27))) (let ((_let_46 (not _let_30))) (let ((_let_47 (forall ((I nat)) (let ((_let_1 (ho_49 k_48 xs))) (or (not (ho_36 (ho_35 k_34 I) _let_1)) (= I _let_1) (= (ho_52 (ho_51 k_50 ys) I) (ho_52 (ho_51 k_50 xs) I))))))) (let ((_let_48 (not _let_45))) (let ((_let_49 (not _let_47))) (let ((_let_50 (EQ_RESOLVE (ASSUME |:args| (_let_7)) (TRANS (MACRO_SR_EQ_INTRO _let_42 _let_41 _let_40 _let_39 _let_38 _let_37 _let_36 _let_35 |:args| (_let_7 7 12)) (PREPROCESS |:args| ((= (not (forall ((I nat)) (let ((_let_1 (size_size_list_a xs))) (or (not ((ord_less_eq_nat I) _let_1)) (= _let_1 I) (= ((nth_a xs) I) ((nth_a ys) I)))))) _let_49))))))) (let ((_let_51 (20))) (let ((_let_52 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (EQ_RESOLVE (SCOPE (SKOLEMIZE _let_50) |:args| (_let_49)) (REWRITE |:args| ((=> _let_49 (not (or _let_32 (= skv_102 _let_29) _let_27))))))) (CONG (MACRO_SR_PRED_INTRO |:args| ((= (not _let_49) _let_47))) (REFL |:args| (_let_48)) |:args| _let_51)) _let_50 |:args| (_let_48 true _let_47)))) (let ((_let_53 (MACRO_RESOLUTION_TRUST (CNF_OR_NEG |:args| (_let_45 1)) _let_52 |:args| (_let_46 true _let_45)))) (let ((_let_54 (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG |:args| (_let_45 0)) (CONG (REFL |:args| (_let_45)) (MACRO_SR_PRED_INTRO |:args| ((= (not _let_32) _let_31))) |:args| _let_51)) |:args| ((or _let_31 _let_45))) _let_52 |:args| (_let_31 true _let_45)))) (let ((_let_55 (forall ((X5 nat)) (= (ho_52 (ho_90 (ho_89 k_88 ys) k_100) X5) (ho_52 (ho_90 (ho_89 k_88 xs) k_101) X5))))) (let ((_let_56 (EQ_RESOLVE (ASSUME |:args| (_let_1)) (PREPROCESS |:args| ((= _let_1 _let_55)))))) (let ((_let_57 (skv_102))) (let ((_let_58 (not _let_27))) (let ((_let_59 (not _let_25))) (let ((_let_60 (not _let_26))) (let ((_let_61 (and _let_58 _let_25 _let_26))) (let ((_let_62 (6))) (let ((_let_63 (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (RESOLUTION (CNF_AND_NEG |:args| (_let_61)) (IMPLIES_ELIM (SCOPE (FALSE_ELIM (TRANS (CONG (REFL |:args| (_let_15)) (TRANS (SYMM (SYMM (ASSUME |:args| (_let_26)))) (SYMM (ASSUME |:args| (_let_25)))) |:args| _let_62) (FALSE_INTRO (ASSUME |:args| (_let_58))))) |:args| (_let_58 _let_25 _let_26))) |:args| (true _let_61)) (CONG (MACRO_SR_PRED_INTRO |:args| ((= (not _let_58) _let_27))) (REFL |:args| (_let_59)) (REFL |:args| (_let_60)) (REFL |:args| (_let_28)) |:args| _let_51)) |:args| ((or _let_27 _let_60 _let_28 _let_59))) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG |:args| (_let_45 2)) _let_52 |:args| (_let_58 true _let_45)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_56 |:args| _let_57) |:args| (_let_55))) _let_56 |:args| (_let_26 false _let_55)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS |:args| (_let_33)) |:args| ((or _let_32 _let_30 _let_25 (not _let_33)))) _let_54 _let_53 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_43 |:args| (skv_102 xs k_101)) |:args| _let_44))) _let_43 |:args| (_let_33 false _let_34)) |:args| (_let_25 false _let_31 true _let_30 false _let_33)) |:args| (_let_28 true _let_27 false _let_26 false _let_25)))) (let ((_let_64 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_43 |:args| (skv_102 ys k_100)) |:args| _let_44))) _let_43 |:args| (_let_22 false _let_34)))) (let ((_let_65 (not _let_18))) (let ((_let_66 (and _let_20 _let_65))) (let ((_let_67 (= _let_17 _let_29))) (let ((_let_68 (ho_36 (ho_35 k_34 _let_29) _let_17))) (let ((_let_69 (not _let_68))) (let ((_let_70 (or _let_69 _let_67 _let_32 _let_66))) (let ((_let_71 (forall ((B nat) (A nat) (C nat)) (let ((_let_1 (ho_35 k_34 C))) (or (not (ho_36 (ho_35 k_34 B) A)) (= B A) (not (ho_36 _let_1 B)) (and (ho_36 _let_1 A) (not (= A C)))))))) (let ((_let_72 (EQ_RESOLVE (ASSUME |:args| (_let_10)) (TRANS (MACRO_SR_EQ_INTRO |:args| (_let_10 7 12)) (MACRO_SR_EQ_INTRO _let_42 _let_41 _let_40 _let_39 _let_38 _let_37 _let_36 _let_35 |:args| ((forall ((B nat) (A nat) (C nat)) (or (not ((ord_less_nat B) A)) (not ((ord_less_eq_nat C) B)) ((ord_less_nat C) A))) 7 12)) (PREPROCESS |:args| ((= (forall ((B nat) (A nat) (C nat)) (let ((_let_1 (ord_less_eq_nat C))) (or (not ((ord_less_eq_nat B) A)) (= B A) (not (_let_1 B)) (and (_let_1 A) (not (= A C)))))) _let_71))))))) (let ((_let_73 (not _let_67))) (let ((_let_74 (and _let_46 _let_67))) (let ((_let_75 (SYMM (SYMM (ASSUME |:args| (_let_67)))))) (let ((_let_76 (and _let_31 _let_67))) (let ((_let_77 (REORDERING (CNF_OR_POS |:args| (_let_22)) |:args| ((or _let_18 _let_21 _let_16 (not _let_22)))))) (let ((_let_78 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS |:args| (_let_70)) |:args| ((or _let_69 _let_32 _let_67 _let_66 (not _let_70)))) (EQ_RESOLVE (ASSUME |:args| (_let_13)) (PREPROCESS |:args| ((= _let_13 _let_68)))) _let_54 (MACRO_RESOLUTION_TRUST _let_77 _let_64 _let_63 (RESOLUTION (CNF_AND_NEG |:args| (_let_76)) (IMPLIES_ELIM (SCOPE (TRUE_ELIM (TRANS (CONG (REFL |:args| (_let_19)) _let_75 |:args| (23 ho_36)) (TRUE_INTRO (ASSUME |:args| (_let_31))))) |:args| (_let_31 _let_67))) |:args| (true _let_76)) _let_54 (EQ_RESOLVE (RESOLUTION (CNF_AND_NEG |:args| (_let_74)) (IMPLIES_ELIM (SCOPE (FALSE_ELIM (TRANS (CONG _let_75 (REFL |:args| _let_57) |:args| _let_62) (FALSE_INTRO (ASSUME |:args| (_let_46))))) |:args| (_let_46 _let_67))) |:args| (true _let_74)) (CONG (MACRO_SR_PRED_INTRO |:args| ((= (not _let_46) _let_30))) (REFL |:args| (_let_73)) (REFL |:args| (_let_65)) |:args| _let_51)) _let_53 |:args| (_let_73 false _let_22 true _let_16 false _let_20 false _let_31 true _let_18 true _let_30)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_72 |:args| (_let_29 _let_17 skv_102)) |:args| (_let_71)))) _let_72 |:args| (_let_70 false _let_71)) |:args| (_let_66 false _let_68 false _let_31 true _let_67 false _let_70)))) (let ((_let_79 (not _let_66))) (SCOPE (MACRO_RESOLUTION_TRUST _let_77 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS |:args| (_let_66 1)) |:args| ((or _let_65 _let_79))) _let_78 |:args| (_let_65 false _let_66)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS |:args| (_let_66 0)) |:args| ((or _let_20 _let_79))) _let_78 |:args| (_let_20 false _let_66)) _let_64 _let_63 |:args| (false true _let_18 false _let_20 false _let_22 true _let_16)) |:args| ((forall ((X2 nat) (Y2 nat)) (=> ((ord_less_eq_nat X2) Y2) (=> ((ord_less_eq_nat Y2) X2) (= X2 Y2)))) (forall ((X2 nat) (Y2 nat)) (=> (not ((ord_less_nat X2) Y2)) ((ord_less_eq_nat Y2) X2))) (forall ((N nat)) (not ((ord_less_eq_nat (suc N)) N))) (forall ((M2 nat) (N nat)) (let ((_let_1 (suc M2))) (=> ((ord_less_nat M2) N) (=> (not (= _let_1 N)) ((ord_less_nat _let_1) N))))) (forall ((N nat)) (not ((ord_less_nat N) N))) _let_13 (forall ((A nat) (B nat) (C nat)) (let ((_let_1 (ord_less_nat A))) (=> (_let_1 B) (=> (= B C) (_let_1 C))))) (= (lambda ((P2 (-> nat Bool))) (exists ((X nat)) (P2 X))) (lambda ((P3 (-> nat Bool))) (exists ((N2 nat)) (and (forall ((M nat)) (=> ((ord_less_nat M) N2) (not (P3 M)))) (P3 N2))))) (forall ((P (-> nat Bool)) (P4 (-> nat Bool)) (Q (-> nat Bool)) (Q2 (-> nat Bool))) (=> (exists ((Z4 nat)) (forall ((X4 nat)) (=> ((ord_less_nat X4) Z4) (= (P X4) (P4 X4))))) (=> (exists ((Z4 nat)) (forall ((X4 nat)) (=> ((ord_less_nat X4) Z4) (= (Q X4) (Q2 X4))))) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat X5) Z3) (= (or (Q X5) (P X5)) (or (P4 X5) (Q2 X5))))))))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat Z3) X5) ((ord_less_nat T) X5))))) (forall ((A nat)) (not ((ord_less_nat A) A))) (forall ((M2 nat) (N nat)) (= ((minus_minus_nat (suc M2)) (suc N)) ((minus_minus_nat M2) N))) _let_12 (forall ((Y2 nat) (X2 nat)) (=> ((ord_less_eq_nat Y2) X2) (not ((ord_less_nat X2) Y2)))) (forall ((A nat) (B nat) (F (-> nat nat)) (C nat)) (=> ((ord_less_nat A) B) (=> ((ord_less_nat (F B)) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_nat X4) Y4) ((ord_less_nat (F X4)) (F Y4)))) ((ord_less_nat (F A)) C))))) (forall ((Xs list_nat)) (=> (list_strict_asc_nat Xs) (list_asc_nat Xs))) (forall ((B nat) (A nat)) (=> ((ord_less_nat B) A) ((ord_less_eq_nat B) A))) (forall ((M2 nat) (N nat)) (= ((ord_less_nat M2) (suc N)) ((ord_less_eq_nat M2) N))) (forall ((A nat) (B nat)) (=> (not (= A B)) (=> ((ord_less_eq_nat A) B) ((ord_less_nat A) B)))) (forall ((M2 nat) (N nat)) (=> ((ord_less_nat M2) N) ((ord_less_eq_nat (suc M2)) N))) _let_11 _let_10 (forall ((X2 nat) (Y2 nat) (Z2 nat)) (let ((_let_1 (ord_less_eq_nat X2))) (=> (_let_1 Y2) (=> ((ord_less_eq_nat Y2) Z2) (_let_1 Z2))))) (forall ((Xs list_a) (N nat) (F (-> nat a))) (let ((_let_1 (size_size_list_a Xs))) (=> ((ord_less_eq_nat _let_1) N) (= (((listIn1312259492pend_a Xs) F) N) (F ((minus_minus_nat N) _let_1)))))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat Z3) X5) (not (= X5 T)))))) (forall ((F (-> nat nat)) (N nat) (M2 nat)) (=> (forall ((N3 nat)) ((ord_less_nat (F N3)) (F (suc N3)))) (= ((ord_less_nat (F N)) (F M2)) ((ord_less_nat N) M2)))) (forall ((N nat) (Xs list_a)) (let ((_let_1 (size_size_list_a Xs))) (=> ((ord_less_nat N) _let_1) (= ((nth_a (rev_a Xs)) N) ((nth_a Xs) ((minus_minus_nat _let_1) (suc N))))))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat X5) Z3) ((ord_less_eq_nat X5) T))))) (forall ((M2 nat) (N nat)) (=> ((ord_less_nat M2) N) ((ord_less_nat (suc M2)) (suc N)))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat X5) Z3) (not ((ord_less_eq_nat T) X5)))))) (forall ((N nat)) (exists ((Xs3 list_a)) (= (size_size_list_a Xs3) N))) (forall ((Xs list_nat) (I3 nat) (J2 nat)) (let ((_let_1 (nth_nat Xs))) (=> (linorder_sorted_nat (rev_nat Xs)) (=> ((ord_less_eq_nat I3) J2) (=> ((ord_less_nat J2) (size_size_list_nat Xs)) ((ord_less_eq_nat (_let_1 J2)) (_let_1 I3))))))) (forall ((Xs list_nat)) (= (size_size_list_nat (rev_nat Xs)) (size_size_list_nat Xs))) (forall ((M2 nat) (N nat)) (=> ((ord_less_eq_nat M2) N) (=> (not (= M2 N)) ((ord_less_nat M2) N)))) (forall ((A nat) (B nat) (F (-> nat nat)) (C nat)) (=> ((ord_less_eq_nat A) B) (=> ((ord_less_nat (F B)) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_eq_nat X4) Y4) ((ord_less_eq_nat (F X4)) (F Y4)))) ((ord_less_nat (F A)) C))))) (forall ((X2 list_nat) (Y2 list_nat)) (=> (not (= (size_size_list_nat X2) (size_size_list_nat Y2))) (not (= X2 Y2)))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat X5) Z3) (not ((ord_less_nat T) X5)))))) (forall ((A nat) (B nat) (F (-> nat nat)) (C nat)) (=> ((ord_less_eq_nat A) B) (=> ((ord_less_eq_nat (F B)) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_eq_nat X4) Y4) ((ord_less_eq_nat (F X4)) (F Y4)))) ((ord_less_eq_nat (F A)) C))))) (forall ((P (-> nat Bool)) (N nat)) (=> (forall ((N3 nat)) (=> (not (P N3)) (exists ((M3 nat)) (and ((ord_less_nat M3) N3) (not (P M3)))))) (P N))) (forall ((A nat) (B nat) (P (-> nat Bool))) (=> ((ord_less_nat A) B) (=> (P A) (=> (not (P B)) (exists ((C2 nat)) (and ((ord_less_eq_nat C2) B) (forall ((D nat)) (=> (forall ((X4 nat)) (=> (and ((ord_less_nat X4) D) ((ord_less_eq_nat A) X4)) (P X4))) ((ord_less_eq_nat D) C2))) (forall ((X5 nat)) (=> (and ((ord_less_eq_nat A) X5) ((ord_less_nat X5) C2)) (P X5))) ((ord_less_eq_nat A) C2))))))) _let_9 (forall ((Xs list_nat) (Ys list_nat)) (= (= (rev_nat Xs) (rev_nat Ys)) (= Xs Ys))) (forall ((X2 nat) (Y2 nat) (Z2 nat)) (=> ((ord_less_eq_nat X2) Y2) (=> ((ord_less_nat Y2) Z2) ((ord_less_nat X2) Z2)))) (forall ((P (-> nat Bool)) (P4 (-> nat Bool)) (Q (-> nat Bool)) (Q2 (-> nat Bool))) (=> (exists ((Z4 nat)) (forall ((X4 nat)) (=> ((ord_less_nat Z4) X4) (= (P X4) (P4 X4))))) (=> (exists ((Z4 nat)) (forall ((X4 nat)) (=> ((ord_less_nat Z4) X4) (= (Q X4) (Q2 X4))))) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat Z3) X5) (= (or (P X5) (Q X5)) (or (P4 X5) (Q2 X5))))))))) (forall ((Xs list_nat)) (= (rev_nat (rev_nat Xs)) Xs)) (forall ((X2 nat)) ((ord_less_eq_nat X2) X2)) (forall ((X2 nat) (Y2 nat)) (=> (not (= X2 Y2)) (=> (not ((ord_less_nat X2) Y2)) ((ord_less_nat Y2) X2)))) (forall ((A nat)) ((ord_less_eq_nat A) A)) (forall ((Xs list_nat) (Ys list_nat) (F (-> nat nat)) (G (-> nat nat))) (=> (= (size_size_list_nat Xs) (size_size_list_nat Ys)) (= (= ((listIn923761578nd_nat Xs) F) ((listIn923761578nd_nat Ys) G)) (and (= F G) (= Xs Ys))))) (forall ((A nat) (B nat)) (=> ((ord_less_nat A) B) ((ord_less_eq_nat A) B))) (= ord_less_eq_nat (lambda ((B2 nat) (A2 nat)) (or (= A2 B2) ((ord_less_nat B2) A2)))) (forall ((M2 nat) (N nat) (R (-> nat nat Bool))) (=> ((ord_less_eq_nat M2) N) (=> (forall ((X4 nat)) ((R X4) X4)) (=> (forall ((X4 nat) (Y4 nat) (Z3 nat)) (let ((_let_1 (R X4))) (=> (_let_1 Y4) (=> ((R Y4) Z3) (_let_1 Z3))))) (=> (forall ((N3 nat)) ((R N3) (suc N3))) ((R M2) N)))))) (forall ((M2 nat) (N nat) (L nat)) (=> ((ord_less_eq_nat M2) N) ((ord_less_eq_nat ((minus_minus_nat M2) L)) ((minus_minus_nat N) L)))) (= ord_less_nat (lambda ((B2 nat) (A2 nat)) (and ((ord_less_eq_nat B2) A2) (not (= A2 B2))))) _let_8 (forall ((F (-> nat nat)) (N nat) (N4 nat)) (=> (forall ((N3 nat)) ((ord_less_eq_nat (F N3)) (F (suc N3)))) (=> ((ord_less_eq_nat N) N4) ((ord_less_eq_nat (F N)) (F N4))))) (= ord_less_nat (lambda ((N2 nat) (__flatten_var_0 nat)) ((ord_less_eq_nat (suc N2)) __flatten_var_0))) (forall ((Xs list_nat) (Ys list_nat)) (=> (not (= (size_size_list_nat Xs) (size_size_list_nat Ys))) (not (= Xs Ys)))) (forall ((P (-> nat Bool)) (N nat)) (=> (forall ((N3 nat)) (=> (forall ((M3 nat)) (=> ((ord_less_nat M3) N3) (P M3))) (P N3))) (P N))) (forall ((X2 nat) (Y2 nat)) (=> (= X2 Y2) ((ord_less_eq_nat X2) Y2))) (forall ((M2 nat) (N nat)) (=> ((ord_less_eq_nat M2) N) (=> ((ord_less_eq_nat N) M2) (= M2 N)))) (forall ((X2 nat) (Y2 nat) (Z2 nat)) (let ((_let_1 (ord_less_nat X2))) (=> (_let_1 Y2) (=> ((ord_less_nat Y2) Z2) (_let_1 Z2))))) (forall ((A nat) (B nat)) (or (not ((ord_less_eq_nat A) B)) (not ((ord_less_eq_nat B) A)) (= A B))) (forall ((I3 nat) (J2 nat) (P (-> nat Bool))) (=> ((ord_less_eq_nat I3) J2) (=> (P J2) (=> (forall ((N3 nat)) (=> ((ord_less_eq_nat I3) N3) (=> ((ord_less_nat N3) J2) (=> (P (suc N3)) (P N3))))) (P I3))))) (forall ((X2 nat) (Y2 nat)) (= (not (= X2 Y2)) (or ((ord_less_nat X2) Y2) ((ord_less_nat Y2) X2)))) (forall ((A nat) (B nat) (F (-> nat nat)) (C nat)) (=> ((ord_less_eq_nat A) B) (=> (= (F B) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_eq_nat X4) Y4) ((ord_less_eq_nat (F X4)) (F Y4)))) ((ord_less_eq_nat (F A)) C))))) (forall ((P (-> nat Bool)) (N nat)) (=> (forall ((N3 nat)) (=> (forall ((M3 nat)) (=> ((ord_less_eq_nat (suc M3)) N3) (P M3))) (P N3))) (P N))) _let_7 (forall ((A nat) (B nat) (F (-> nat nat)) (C nat)) (=> ((ord_less_nat A) B) (=> (= (F B) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_nat X4) Y4) ((ord_less_nat (F X4)) (F Y4)))) ((ord_less_nat (F A)) C))))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat X5) Z3) (not (= X5 T)))))) _let_6 (forall ((X2 nat)) (not ((ord_less_nat X2) X2))) (= ord_less_eq_nat (lambda ((M nat) (N2 nat)) (or (= M N2) ((ord_less_nat M) N2)))) (forall ((I3 nat) (J2 nat) (P (-> nat nat Bool))) (=> ((ord_less_nat I3) J2) (=> (forall ((I nat)) ((P I) (suc I))) (=> (forall ((I nat) (J3 nat) (K2 nat)) (let ((_let_1 (P I))) (=> ((ord_less_nat I) J3) (=> ((ord_less_nat J3) K2) (=> (_let_1 J3) (=> ((P J3) K2) (_let_1 K2))))))) ((P I3) J2))))) _let_5 (forall ((N nat) (P (-> nat Bool))) (= (exists ((I2 nat)) (and ((ord_less_nat I2) (suc N)) (P I2))) (or (exists ((I2 nat)) (and ((ord_less_nat I2) N) (P I2))) (P N)))) (forall ((K nat) (P (-> nat a Bool))) (= (forall ((I2 nat)) (=> ((ord_less_nat I2) K) (exists ((X a)) ((P I2) X)))) (exists ((Xs2 list_a)) (and (= (size_size_list_a Xs2) K) (forall ((I2 nat)) (=> ((ord_less_nat I2) K) ((P I2) ((nth_a Xs2) I2)))))))) (forall ((Xs list_a) (Ys list_a) (F (-> nat a)) (G (-> nat a))) (=> (= (size_size_list_a Xs) (size_size_list_a Ys)) (= (= ((listIn1312259492pend_a Xs) F) ((listIn1312259492pend_a Ys) G)) (and (= Xs Ys) (= F G))))) (forall ((X2 nat) (Y2 nat)) (=> (not ((ord_less_eq_nat X2) Y2)) ((ord_less_eq_nat Y2) X2))) (forall ((A nat) (F (-> nat nat)) (B nat) (C nat)) (=> ((ord_less_eq_nat A) (F B)) (=> ((ord_less_nat B) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_nat X4) Y4) ((ord_less_nat (F X4)) (F Y4)))) ((ord_less_nat A) (F C)))))) (forall ((M2 nat) (N nat)) (=> ((ord_less_eq_nat (suc M2)) N) ((ord_less_nat M2) N))) (forall ((Xs list_nat)) (=> (list_strict_asc_nat Xs) (forall ((J4 nat)) (=> ((ord_less_nat J4) (size_size_list_nat Xs)) (forall ((I4 nat)) (let ((_let_1 (nth_nat Xs))) (=> ((ord_less_eq_nat I4) J4) ((ord_less_eq_nat (_let_1 I4)) (_let_1 J4))))))))) (forall ((I3 nat) (J2 nat) (P (-> nat Bool))) (=> ((ord_less_eq_nat I3) J2) (=> (P I3) (=> (forall ((N3 nat)) (=> ((ord_less_eq_nat I3) N3) (=> ((ord_less_nat N3) J2) (=> (P N3) (P (suc N3)))))) (P J2))))) (forall ((M2 nat) (N nat)) (=> ((ord_less_nat (suc M2)) (suc N)) ((ord_less_nat M2) N))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat Z3) X5) (not (= X5 T)))))) (forall ((A nat) (B nat) (C nat)) (let ((_let_1 (ord_less_eq_nat A))) (=> (_let_1 B) (=> ((ord_less_eq_nat B) C) (_let_1 C))))) (forall ((P (-> nat Bool)) (P4 (-> nat Bool)) (Q (-> nat Bool)) (Q2 (-> nat Bool))) (=> (exists ((Z4 nat)) (forall ((X4 nat)) (=> ((ord_less_nat X4) Z4) (= (P X4) (P4 X4))))) (=> (exists ((Z4 nat)) (forall ((X4 nat)) (=> ((ord_less_nat X4) Z4) (= (Q X4) (Q2 X4))))) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat X5) Z3) (= (and (Q X5) (P X5)) (and (Q2 X5) (P4 X5))))))))) (forall ((M2 nat) (K nat) (N nat)) (=> (= ((minus_minus_nat M2) K) ((minus_minus_nat N) K)) (=> ((ord_less_nat K) M2) (= M2 N)))) (forall ((X2 nat) (Y2 nat)) (or (= X2 Y2) ((ord_less_nat Y2) X2) ((ord_less_nat X2) Y2))) (forall ((N nat)) ((ord_less_nat N) (suc N))) (forall ((A nat) (B nat)) (=> ((ord_less_nat A) B) (not ((ord_less_nat B) A)))) (forall ((Y2 nat) (X2 nat)) (=> (not ((ord_less_nat Y2) X2)) (= (not ((ord_less_nat X2) Y2)) (= X2 Y2)))) (forall ((Xs list_nat)) (= (linorder_sorted_nat (rev_nat Xs)) (forall ((I2 nat)) (let ((_let_1 (nth_nat Xs))) (let ((_let_2 (suc I2))) (=> ((ord_less_nat _let_2) (size_size_list_nat Xs)) ((ord_less_eq_nat (_let_1 _let_2)) (_let_1 I2)))))))) (forall ((P (-> nat Bool)) (Xs list_nat)) (let ((_let_1 (list_ex_nat P))) (= (_let_1 (rev_nat Xs)) (_let_1 Xs)))) (forall ((A nat) (B nat)) (=> ((ord_less_eq_nat A) B) (=> ((ord_less_eq_nat B) A) (= A B)))) (forall ((B4 nat) (A4 nat)) (= (not ((ord_less_eq_nat B4) A4)) ((ord_less_nat A4) B4))) (forall ((N nat) (M2 nat)) (= ((ord_less_nat (suc N)) M2) (exists ((M6 nat)) (and (= M2 (suc M6)) ((ord_less_nat N) M6))))) (forall ((X2 nat) (Y2 nat)) (= (not ((ord_less_eq_nat X2) Y2)) ((ord_less_nat Y2) X2))) (forall ((X2 nat)) (exists ((X_1 nat)) ((ord_less_nat X2) X_1))) (forall ((X2 nat) (Y2 nat) (P Bool)) (=> ((ord_less_nat X2) Y2) (=> ((ord_less_nat Y2) X2) P))) (forall ((X2 nat) (Y2 nat) (Z2 nat)) (let ((_let_1 (ord_less_eq_nat X2))) (let ((_let_2 (_let_1 Y2))) (let ((_let_3 (ord_less_eq_nat Z2))) (let ((_let_4 (_let_3 X2))) (let ((_let_5 (ord_less_eq_nat Y2))) (let ((_let_6 (_let_5 Z2))) (let ((_let_7 (_let_5 X2))) (let ((_let_8 (_let_3 Y2))) (let ((_let_9 (_let_1 Z2))) (=> (=> _let_2 (not _let_6)) (=> (=> _let_7 (not _let_9)) (=> (=> _let_9 (not _let_8)) (=> (=> _let_8 (not _let_7)) (=> (=> _let_6 (not _let_4)) (not (=> _let_4 (not _let_2)))))))))))))))))) (forall ((M2 nat) (N nat) (K nat)) (= ((minus_minus_nat ((minus_minus_nat (suc M2)) N)) (suc K)) ((minus_minus_nat ((minus_minus_nat M2) N)) K))) (forall ((M2 nat) (N nat)) (or ((ord_less_eq_nat N) M2) ((ord_less_eq_nat M2) N))) (forall ((P (-> nat nat Bool)) (A nat) (B nat)) (=> (forall ((A3 nat) (B3 nat)) (=> ((ord_less_eq_nat A3) B3) ((P A3) B3))) (=> (forall ((A3 nat) (B3 nat)) (=> ((P B3) A3) ((P A3) B3))) ((P A) B)))) (= (lambda ((Y nat) (Z nat)) (= Y Z)) (lambda ((X3 nat) (Y3 nat)) (and ((ord_less_eq_nat X3) Y3) ((ord_less_eq_nat Y3) X3)))) (forall ((X2 nat) (Y2 nat)) (=> ((ord_less_eq_nat X2) Y2) (= (not ((ord_less_nat X2) Y2)) (= X2 Y2)))) (forall ((I3 nat) (K nat)) (=> ((ord_less_nat I3) K) (=> (not (= K (suc I3))) (not (forall ((J3 nat)) (=> ((ord_less_nat I3) J3) (not (= K (suc J3))))))))) (forall ((N nat) (M2 nat)) (=> ((ord_less_nat N) M2) (not (= M2 N)))) (forall ((X2 nat) (Y2 nat)) (=> ((ord_less_nat X2) Y2) (not (= Y2 X2)))) (forall ((Y2 nat) (X2 nat)) (=> ((ord_less_eq_nat Y2) X2) (= ((ord_less_eq_nat X2) Y2) (= X2 Y2)))) (forall ((B nat) (A nat)) (=> ((ord_less_eq_nat B) A) (=> ((ord_less_eq_nat A) B) (= A B)))) (forall ((N nat) (M4 nat)) (=> ((ord_less_eq_nat (suc N)) M4) (exists ((M5 nat)) (= M4 (suc M5))))) (forall ((P (-> nat Bool)) (K nat) (I3 nat)) (=> (P K) (=> (forall ((N3 nat)) (=> (P (suc N3)) (P N3))) (P ((minus_minus_nat K) I3))))) (forall ((Xs list_a)) (= (size_size_list_a (rev_a Xs)) (size_size_list_a Xs))) (forall ((P (-> nat nat Bool)) (A nat) (B nat)) (=> (forall ((A3 nat) (B3 nat)) (=> ((ord_less_nat A3) B3) ((P A3) B3))) (=> (forall ((A3 nat)) ((P A3) A3)) (=> (forall ((A3 nat) (B3 nat)) (=> ((P B3) A3) ((P A3) B3))) ((P A) B))))) (forall ((M2 nat) (K nat) (N nat)) (=> (= ((minus_minus_nat M2) K) ((minus_minus_nat N) K)) (=> ((ord_less_nat K) N) (= M2 N)))) (forall ((M2 nat) (N nat)) (=> ((ord_less_nat (suc M2)) N) ((ord_less_nat M2) N))) (forall ((Xs list_a) (Ys list_a)) (= (= (rev_a Xs) (rev_a Ys)) (= Xs Ys))) (= (lambda ((Y nat) (Z nat)) (= Y Z)) (lambda ((A2 nat) (B2 nat)) (and ((ord_less_eq_nat A2) B2) ((ord_less_eq_nat B2) A2)))) (forall ((X2 nat) (Y2 nat)) (=> ((ord_less_nat X2) Y2) (not (= X2 Y2)))) (forall ((M2 nat) (N nat)) (= (not ((ord_less_nat M2) N)) ((ord_less_nat N) (suc M2)))) (forall ((M2 nat) (N nat)) (=> (= M2 N) ((ord_less_eq_nat M2) N))) (forall ((N nat) (Xs list_nat)) (let ((_let_1 (size_size_list_nat Xs))) (=> ((ord_less_nat N) _let_1) (= ((nth_nat (rev_nat Xs)) N) ((nth_nat Xs) ((minus_minus_nat _let_1) (suc N))))))) (forall ((M2 nat) (N nat)) (let ((_let_1 (ord_less_nat M2))) (= (_let_1 (suc N)) (or (= M2 N) (_let_1 N))))) (forall ((X2 nat) (Y2 nat)) (or ((ord_less_eq_nat Y2) X2) ((ord_less_eq_nat X2) Y2))) (forall ((M2 nat) (N nat)) (= ((ord_less_nat (suc M2)) (suc N)) ((ord_less_nat M2) N))) (forall ((Xs list_a) (Ys list_a)) (=> (= (size_size_list_a Xs) (size_size_list_a Ys)) (=> (forall ((I nat)) (=> ((ord_less_nat I) (size_size_list_a Xs)) (= ((nth_a Xs) I) ((nth_a Ys) I)))) (= Xs Ys)))) (forall ((M2 nat) (N nat) (L nat)) (let ((_let_1 (minus_minus_nat L))) (=> ((ord_less_eq_nat M2) N) ((ord_less_eq_nat (_let_1 N)) (_let_1 M2))))) (forall ((B nat) (A nat) (C nat)) (let ((_let_1 (ord_less_nat C))) (=> ((ord_less_nat B) A) (=> (_let_1 B) (_let_1 A))))) (forall ((X2 nat) (Y2 nat)) (=> ((ord_less_nat X2) Y2) (not ((ord_less_nat Y2) X2)))) (forall ((N nat) (P (-> nat Bool))) (= (forall ((I2 nat)) (=> ((ord_less_nat I2) (suc N)) (P I2))) (and (forall ((I2 nat)) (=> ((ord_less_nat I2) N) (P I2))) (P N)))) (forall ((X22 nat) (Y22 nat)) (= (= (suc X22) (suc Y22)) (= X22 Y22))) (forall ((X2 nat) (Y2 nat)) (=> ((ord_less_nat X2) Y2) (not ((ord_less_nat Y2) X2)))) (forall ((M2 nat) (N nat)) (let ((_let_1 (ord_less_nat M2))) (=> (_let_1 (suc N)) (=> (not (_let_1 N)) (= M2 N))))) (forall ((X2 nat) (Y2 nat)) (= (not ((ord_less_nat X2) Y2)) (or ((ord_less_nat Y2) X2) (= X2 Y2)))) (= ord_less_eq_nat (lambda ((A2 nat) (B2 nat)) (or (= A2 B2) ((ord_less_nat A2) B2)))) (= list_desc_nat (lambda ((Xs2 list_nat)) (forall ((J nat)) (=> ((ord_less_nat J) (size_size_list_nat Xs2)) (forall ((I2 nat)) (let ((_let_1 (nth_nat Xs2))) (=> ((ord_less_nat I2) J) ((ord_less_eq_nat (_let_1 J)) (_let_1 I2))))))))) (forall ((I3 nat) (N nat)) (let ((_let_1 (minus_minus_nat N))) (=> ((ord_less_eq_nat I3) N) (= (_let_1 (_let_1 I3)) I3)))) (forall ((B nat) (A nat) (C nat)) (let ((_let_1 (ord_less_eq_nat C))) (=> ((ord_less_eq_nat B) A) (=> (_let_1 B) (_let_1 A))))) (forall ((A nat) (B nat) (C nat)) (let ((_let_1 (ord_less_nat A))) (=> (_let_1 B) (=> ((ord_less_nat B) C) (_let_1 C))))) (forall ((N nat) (M2 nat)) (let ((_let_1 (ord_less_nat N))) (=> (not (_let_1 M2)) (= (_let_1 (suc M2)) (= N M2))))) (forall ((A nat) (F (-> nat nat)) (B nat) (C nat)) (let ((_let_1 (ord_less_nat A))) (=> (_let_1 (F B)) (=> ((ord_less_nat B) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_nat X4) Y4) ((ord_less_nat (F X4)) (F Y4)))) (_let_1 (F C))))))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat X5) Z3) (not (= X5 T)))))) (forall ((X2 nat) (Y2 nat) (Z2 nat)) (let ((_let_1 (ord_less_nat X2))) (=> (_let_1 Y2) (=> ((ord_less_eq_nat Y2) Z2) (_let_1 Z2))))) (forall ((P (-> nat Bool)) (K nat) (B nat)) (=> (P K) (=> (forall ((Y4 nat)) (=> (P Y4) ((ord_less_eq_nat Y4) B))) (exists ((X4 nat)) (and (forall ((Y5 nat)) (=> (P Y5) ((ord_less_eq_nat Y5) X4))) (P X4)))))) (forall ((B nat) (A nat) (C nat)) (let ((_let_1 (ord_less_nat C))) (=> ((ord_less_eq_nat B) A) (=> (_let_1 B) (_let_1 A))))) (forall ((Xs list_nat) (I3 nat) (J2 nat)) (let ((_let_1 (nth_nat Xs))) (=> (linorder_sorted_nat Xs) (=> ((ord_less_eq_nat I3) J2) (=> ((ord_less_nat J2) (size_size_list_nat Xs)) ((ord_less_eq_nat (_let_1 I3)) (_let_1 J2))))))) (forall ((P (-> nat Bool)) (N0 nat) (N nat)) (=> (P N0) (=> (forall ((N3 nat)) (=> ((ord_less_eq_nat N0) N3) (=> (P N3) (P (suc N3))))) (=> ((ord_less_eq_nat N0) N) (P N))))) (forall ((A nat)) (not ((ord_less_nat A) A))) (forall ((A nat) (B nat)) (=> ((ord_less_nat A) B) (not (= A B)))) (forall ((A nat) (B nat) (C nat)) (let ((_let_1 (ord_less_eq_nat A))) (=> (_let_1 B) (=> (= B C) (_let_1 C))))) (forall ((M2 nat) (N nat)) (=> ((ord_less_nat M2) N) ((ord_less_eq_nat M2) N))) (forall ((A nat) (F (-> nat nat)) (B nat) (C nat)) (let ((_let_1 (ord_less_nat A))) (=> (_let_1 (F B)) (=> ((ord_less_eq_nat B) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_eq_nat X4) Y4) ((ord_less_eq_nat (F X4)) (F Y4)))) (_let_1 (F C))))))) (forall ((A nat) (B nat) (C nat)) (=> ((ord_less_eq_nat A) B) (=> ((ord_less_nat B) C) ((ord_less_nat A) C)))) (forall ((A nat) (B nat) (C nat)) (let ((_let_1 (ord_less_nat A))) (=> (_let_1 B) (=> ((ord_less_eq_nat B) C) (_let_1 C))))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat Z3) X5) ((ord_less_eq_nat T) X5))))) (forall ((X2 nat) (Y2 nat)) (or ((ord_less_eq_nat X2) Y2) ((ord_less_nat Y2) X2))) (= linorder_sorted_nat (lambda ((Xs2 list_nat)) (forall ((I2 nat) (J nat)) (let ((_let_1 (nth_nat Xs2))) (=> ((ord_less_eq_nat I2) J) (=> ((ord_less_nat J) (size_size_list_nat Xs2)) ((ord_less_eq_nat (_let_1 I2)) (_let_1 J)))))))) _let_4 (= ord_less_nat (lambda ((X3 nat) (Y3 nat)) (and ((ord_less_eq_nat X3) Y3) (not (= X3 Y3))))) (forall ((A nat) (F (-> nat nat)) (B nat) (C nat)) (=> (= A (F B)) (=> ((ord_less_nat B) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_nat X4) Y4) ((ord_less_nat (F X4)) (F Y4)))) ((ord_less_nat A) (F C)))))) (= ord_less_eq_nat (lambda ((A2 nat) (N2 nat)) (forall ((X3 nat)) (=> ((ord_less_nat X3) A2) (not (= N2 X3)))))) (forall ((M2 nat) (N nat) (P (-> nat Bool))) (=> ((ord_less_eq_nat M2) N) (=> (P M2) (=> (forall ((N3 nat)) (=> ((ord_less_eq_nat M2) N3) (=> (P N3) (P (suc N3))))) (P N))))) (forall ((X2 list_a) (Y2 list_a)) (=> (not (= (size_size_list_a X2) (size_size_list_a Y2))) (not (= X2 Y2)))) (forall ((B nat) (A nat)) (=> ((ord_less_nat B) A) (not ((ord_less_nat A) B)))) (forall ((A nat) (F (-> nat nat)) (B nat) (C nat)) (let ((_let_1 (ord_less_eq_nat A))) (=> (_let_1 (F B)) (=> ((ord_less_eq_nat B) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_eq_nat X4) Y4) ((ord_less_eq_nat (F X4)) (F Y4)))) (_let_1 (F C))))))) (forall ((P (-> list_a Bool)) (Xs list_a)) (=> (forall ((Xs3 list_a)) (=> (forall ((Ys3 list_a)) (=> ((ord_less_nat (size_size_list_a Ys3)) (size_size_list_a Xs3)) (P Ys3))) (P Xs3))) (P Xs))) (forall ((M2 nat) (N nat)) (let ((_let_1 (suc N))) (let ((_let_2 (ord_less_eq_nat M2))) (= (_let_2 _let_1) (or (_let_2 N) (= M2 _let_1)))))) (= (lambda ((Y nat) (Z nat)) (= Y Z)) (lambda ((A2 nat) (B2 nat)) (and ((ord_less_eq_nat B2) A2) ((ord_less_eq_nat A2) B2)))) (forall ((N nat) (P (-> nat Bool)) (M2 nat)) (=> (forall ((K2 nat)) (=> ((ord_less_nat N) K2) (P K2))) (=> (forall ((K2 nat)) (=> ((ord_less_eq_nat K2) N) (=> (forall ((I4 nat)) (=> ((ord_less_nat K2) I4) (P I4))) (P K2)))) (P M2)))) (forall ((M2 nat) (N nat)) (= (not (= M2 N)) (or ((ord_less_nat N) M2) ((ord_less_nat M2) N)))) (= list_asc_nat (lambda ((Xs2 list_nat)) (forall ((J nat)) (=> ((ord_less_nat J) (size_size_list_nat Xs2)) (forall ((I2 nat)) (let ((_let_1 (nth_nat Xs2))) (=> ((ord_less_nat I2) J) ((ord_less_eq_nat (_let_1 I2)) (_let_1 J))))))))) (forall ((M2 nat) (N nat)) (let ((_let_1 (ord_less_eq_nat M2))) (=> (_let_1 N) (_let_1 (suc N))))) (forall ((J2 nat) (K nat) (N nat)) (=> ((ord_less_nat J2) K) ((ord_less_nat ((minus_minus_nat J2) N)) K))) (forall ((P (-> nat Bool)) (A nat)) (=> (forall ((X4 nat)) (=> (forall ((Y5 nat)) (=> ((ord_less_nat Y5) X4) (P Y5))) (P X4))) (P A))) (forall ((K nat) (M2 nat) (N nat)) (let ((_let_1 (minus_minus_nat K))) (=> (= (_let_1 M2) (_let_1 N)) (=> ((ord_less_nat N) K) (= M2 N))))) (forall ((M2 nat) (N nat)) ((ord_less_eq_nat ((minus_minus_nat M2) N)) M2)) (forall ((Xs list_a) (Ys list_a)) (=> (not (= (size_size_list_a Xs) (size_size_list_a Ys))) (not (= Xs Ys)))) (forall ((X2 nat) (Y2 nat)) (=> (not ((ord_less_nat X2) Y2)) (=> (not (= X2 Y2)) ((ord_less_nat Y2) X2)))) (forall ((A nat) (B nat)) (=> ((ord_less_eq_nat A) B) (=> (not (= A B)) ((ord_less_nat A) B)))) (forall ((K nat) (M2 nat) (N nat)) (let ((_let_1 (minus_minus_nat K))) (=> ((ord_less_nat (_let_1 M2)) (_let_1 N)) ((ord_less_nat N) M2)))) (forall ((N nat) (K nat) (M2 nat)) (=> ((ord_less_nat ((minus_minus_nat N) K)) ((minus_minus_nat M2) K)) ((ord_less_nat N) M2))) (forall ((X2 nat) (Y2 nat)) (=> ((ord_less_nat X2) Y2) ((ord_less_eq_nat X2) Y2))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat Z3) X5) (not ((ord_less_eq_nat X5) T)))))) (forall ((N nat)) ((ord_less_eq_nat N) N)) (forall ((Nat nat) (Nat2 nat)) (= (= (suc Nat) (suc Nat2)) (= Nat Nat2))) (forall ((Xs list_nat) (Ys list_nat)) (= (= (rev_nat Xs) Ys) (= Xs (rev_nat Ys)))) (forall ((I3 nat) (J2 nat) (K nat)) (let ((_let_1 (ord_less_eq_nat I3))) (=> (_let_1 J2) (=> ((ord_less_eq_nat J2) K) (_let_1 K))))) (forall ((B nat) (A nat)) (=> ((ord_less_nat B) A) (not (= A B)))) (forall ((F (-> nat nat)) (N nat) (N4 nat)) (=> (forall ((N3 nat)) ((ord_less_eq_nat (F (suc N3))) (F N3))) (=> ((ord_less_eq_nat N) N4) ((ord_less_eq_nat (F N4)) (F N))))) (forall ((I3 nat) (J2 nat) (M2 nat)) (let ((_let_1 (ord_less_nat I3))) (=> (_let_1 ((minus_minus_nat J2) M2)) (_let_1 J2)))) (forall ((K nat) (M2 nat) (N nat)) (let ((_let_1 (minus_minus_nat K))) (=> (= (_let_1 M2) (_let_1 N)) (=> ((ord_less_nat M2) K) (= M2 N))))) (= ord_less_nat (lambda ((A2 nat) (N2 nat)) (forall ((X3 nat)) (=> ((ord_less_eq_nat X3) A2) (not (= N2 X3)))))) (forall ((A nat) (C nat) (B nat)) (let ((_let_1 (ord_less_eq_nat B))) (let ((_let_2 (minus_minus_nat C))) (=> ((ord_less_eq_nat A) C) (=> (_let_1 C) (= ((ord_less_eq_nat (_let_2 A)) (_let_2 B)) (_let_1 A))))))) (forall ((M2 nat) (N nat)) (= (not ((ord_less_eq_nat M2) N)) ((ord_less_eq_nat (suc N)) M2))) (forall ((F (-> nat nat)) (N nat) (N4 nat)) (=> (forall ((N3 nat)) ((ord_less_nat (F N3)) (F (suc N3)))) (=> ((ord_less_nat N) N4) ((ord_less_nat (F N)) (F N4))))) (forall ((Xs list_nat)) (= (linorder_sorted_nat (rev_nat Xs)) (forall ((I2 nat) (J nat)) (let ((_let_1 (nth_nat Xs))) (=> ((ord_less_eq_nat I2) J) (=> ((ord_less_nat J) (size_size_list_nat Xs)) ((ord_less_eq_nat (_let_1 J)) (_let_1 I2)))))))) (forall ((M2 nat) (N nat)) (=> ((ord_less_eq_nat M2) N) ((ord_less_nat M2) (suc N)))) (forall ((Xs list_nat)) (=> (list_strict_desc_nat Xs) (list_desc_nat Xs))) (forall ((A nat) (B nat) (F (-> nat nat)) (C nat)) (=> ((ord_less_nat A) B) (=> ((ord_less_eq_nat (F B)) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_nat X4) Y4) ((ord_less_nat (F X4)) (F Y4)))) ((ord_less_nat (F A)) C))))) (= ord_less_nat (lambda ((X3 nat) (Y3 nat)) (and ((ord_less_eq_nat X3) Y3) (not ((ord_less_eq_nat Y3) X3))))) _let_3 (forall ((P (-> a Bool)) (Xs list_a)) (let ((_let_1 (list_ex_a P))) (= (_let_1 (rev_a Xs)) (_let_1 Xs)))) (forall ((M2 nat) (N nat)) (= ((ord_less_eq_nat (suc M2)) N) ((ord_less_nat M2) N))) (forall ((M2 nat) (N nat)) (let ((_let_1 (suc N))) (let ((_let_2 (ord_less_eq_nat M2))) (=> (_let_2 _let_1) (=> (not (_let_2 N)) (= M2 _let_1)))))) (forall ((I3 nat) (J2 nat) (P (-> nat Bool))) (=> ((ord_less_nat I3) J2) (=> (forall ((I nat)) (=> (= J2 (suc I)) (P I))) (=> (forall ((I nat)) (=> ((ord_less_nat I) J2) (=> (P (suc I)) (P I)))) (P I3))))) (forall ((X2 nat) (Y2 nat)) (=> (not ((ord_less_nat X2) Y2)) (= ((ord_less_eq_nat X2) Y2) (= X2 Y2)))) (forall ((Xs list_a) (Ys list_a)) (= (= (rev_a Xs) Ys) (= Xs (rev_a Ys)))) (forall ((X2 nat) (Y2 nat)) (= (not ((ord_less_nat X2) Y2)) ((ord_less_eq_nat Y2) X2))) (forall ((X2 nat) (Y2 nat)) (=> ((ord_less_nat X2) Y2) (not ((ord_less_nat Y2) X2)))) (forall ((P (-> list_nat Bool)) (Xs list_nat)) (=> (forall ((Xs3 list_nat)) (=> (forall ((Ys3 list_nat)) (=> ((ord_less_nat (size_size_list_nat Ys3)) (size_size_list_nat Xs3)) (P Ys3))) (P Xs3))) (P Xs))) (forall ((M2 nat) (N nat) (L nat)) (let ((_let_1 (minus_minus_nat L))) (let ((_let_2 (ord_less_nat M2))) (=> (_let_2 N) (=> (_let_2 L) ((ord_less_nat (_let_1 N)) (_let_1 M2))))))) (forall ((I3 nat) (K nat)) (=> ((ord_less_nat (suc I3)) K) (not (forall ((J3 nat)) (=> ((ord_less_nat I3) J3) (not (= K (suc J3)))))))) (forall ((I3 nat) (J2 nat) (K nat)) (=> ((ord_less_nat I3) J2) (=> ((ord_less_nat J2) K) ((ord_less_nat (suc I3)) K)))) (forall ((S nat) (T nat)) (=> ((ord_less_nat S) T) (not (= S T)))) (forall ((N nat)) (not (= N (suc N)))) (forall ((F (-> nat nat)) (I3 nat) (J2 nat)) (=> (forall ((I nat) (J3 nat)) (=> ((ord_less_nat I) J3) ((ord_less_nat (F I)) (F J3)))) (=> ((ord_less_eq_nat I3) J2) ((ord_less_eq_nat (F I3)) (F J2))))) (forall ((M2 nat) (N nat)) (=> ((ord_less_eq_nat M2) N) (= ((ord_less_nat N) (suc M2)) (= N M2)))) (= list_asc_nat (lambda ((Xs2 list_nat)) (forall ((J nat)) (=> ((ord_less_nat J) (size_size_list_nat Xs2)) (forall ((I2 nat)) (let ((_let_1 (nth_nat Xs2))) (=> ((ord_less_eq_nat I2) J) ((ord_less_eq_nat (_let_1 I2)) (_let_1 J))))))))) (= ord_less_eq_nat (lambda ((X3 nat) (Y3 nat)) (or ((ord_less_nat X3) Y3) (= X3 Y3)))) _let_2 (= ord_less_eq_nat (lambda ((N2 nat) (A2 nat)) (forall ((X3 nat)) (=> ((ord_less_nat A2) X3) (not (= N2 X3)))))) (forall ((Xs list_a)) (= (rev_a (rev_a Xs)) Xs)) (forall ((X2 nat) (Y2 nat)) (=> ((ord_less_eq_nat X2) Y2) (or (= X2 Y2) ((ord_less_nat X2) Y2)))) (forall ((Xs list_nat) (N nat) (F (-> nat nat))) (let ((_let_1 (size_size_list_nat Xs))) (=> ((ord_less_eq_nat _let_1) N) (= (((listIn923761578nd_nat Xs) F) N) (F ((minus_minus_nat N) _let_1)))))) (forall ((M2 nat) (N nat)) (=> (or (= M2 N) ((ord_less_nat M2) N)) ((ord_less_eq_nat M2) N))) (forall ((Xs list_nat) (Ys list_nat)) (=> (= (size_size_list_nat Xs) (size_size_list_nat Ys)) (=> (forall ((I nat)) (=> ((ord_less_nat I) (size_size_list_nat Xs)) (= ((nth_nat Xs) I) ((nth_nat Ys) I)))) (= Xs Ys)))) (= ord_less_nat (lambda ((A2 nat) (B2 nat)) (and ((ord_less_eq_nat A2) B2) (not (= A2 B2))))) (forall ((K nat) (P (-> nat nat Bool))) (= (forall ((I2 nat)) (=> ((ord_less_nat I2) K) (exists ((X nat)) ((P I2) X)))) (exists ((Xs2 list_nat)) (and (forall ((I2 nat)) (=> ((ord_less_nat I2) K) ((P I2) ((nth_nat Xs2) I2)))) (= (size_size_list_nat Xs2) K))))) (= (lambda ((Y list_nat) (Z list_nat)) (= Y Z)) (lambda ((Xs2 list_nat) (Ys2 list_nat)) (and (= (size_size_list_nat Xs2) (size_size_list_nat Ys2)) (forall ((I2 nat)) (=> ((ord_less_nat I2) (size_size_list_nat Xs2)) (= ((nth_nat Xs2) I2) ((nth_nat Ys2) I2))))))) (forall ((X2 nat) (Y2 nat)) (=> ((ord_less_nat X2) Y2) (not (= X2 Y2)))) (forall ((N nat) (Xs list_nat) (F (-> nat nat))) (=> ((ord_less_nat N) (size_size_list_nat Xs)) (= (((listIn923761578nd_nat Xs) F) N) ((nth_nat Xs) N)))) (forall ((X2 nat) (Y2 nat)) (=> (= (suc X2) (suc Y2)) (= X2 Y2))) (= (lambda ((Y list_a) (Z list_a)) (= Y Z)) (lambda ((Xs2 list_a) (Ys2 list_a)) (and (forall ((I2 nat)) (=> ((ord_less_nat I2) (size_size_list_a Xs2)) (= ((nth_a Xs2) I2) ((nth_a Ys2) I2)))) (= (size_size_list_a Xs2) (size_size_list_a Ys2))))) (= linorder_sorted_nat (lambda ((Xs2 list_nat)) (forall ((I2 nat) (J nat)) (let ((_let_1 (nth_nat Xs2))) (=> ((ord_less_nat I2) J) (=> ((ord_less_nat J) (size_size_list_nat Xs2)) ((ord_less_eq_nat (_let_1 I2)) (_let_1 J)))))))) (forall ((N nat)) (not ((ord_less_nat N) N))) (forall ((Y2 nat) (X2 nat)) (=> (not ((ord_less_eq_nat Y2) X2)) ((ord_less_nat X2) Y2))) (forall ((A nat) (B nat) (C nat)) (=> (= A B) (=> ((ord_less_eq_nat B) C) ((ord_less_eq_nat A) C)))) (forall ((A nat) (F (-> nat nat)) (B nat) (C nat)) (=> (= A (F B)) (=> ((ord_less_eq_nat B) C) (=> (forall ((X4 nat) (Y4 nat)) (=> ((ord_less_eq_nat X4) Y4) ((ord_less_eq_nat (F X4)) (F Y4)))) ((ord_less_eq_nat A) (F C)))))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (let ((_let_1 (ord_less_nat X5))) (=> (_let_1 Z3) (_let_1 T)))))) _let_1 (forall ((X2 nat) (Y2 nat)) (=> (not (= X2 Y2)) (=> (not ((ord_less_nat X2) Y2)) ((ord_less_nat Y2) X2)))) (forall ((P (-> nat Bool)) (P4 (-> nat Bool)) (Q (-> nat Bool)) (Q2 (-> nat Bool))) (=> (exists ((Z4 nat)) (forall ((X4 nat)) (=> ((ord_less_nat Z4) X4) (= (P X4) (P4 X4))))) (=> (exists ((Z4 nat)) (forall ((X4 nat)) (=> ((ord_less_nat Z4) X4) (= (Q X4) (Q2 X4))))) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat Z3) X5) (= (and (P X5) (Q X5)) (and (Q2 X5) (P4 X5))))))))) (forall ((A nat) (B nat) (C nat)) (=> (= A B) (=> ((ord_less_nat B) C) ((ord_less_nat A) C)))) (forall ((I3 nat) (J2 nat) (K nat)) (let ((_let_1 (minus_minus_nat I3))) (= ((minus_minus_nat (_let_1 J2)) K) ((minus_minus_nat (_let_1 K)) J2)))) (forall ((K nat) (M2 nat) (N nat)) (let ((_let_1 (minus_minus_nat M2))) (let ((_let_2 (ord_less_eq_nat K))) (=> (_let_2 M2) (=> (_let_2 N) (= ((minus_minus_nat (_let_1 K)) ((minus_minus_nat N) K)) (_let_1 N))))))) (forall ((K nat) (M2 nat) (N nat)) (let ((_let_1 (ord_less_eq_nat K))) (=> (_let_1 M2) (=> (_let_1 N) (= ((ord_less_eq_nat ((minus_minus_nat M2) K)) ((minus_minus_nat N) K)) ((ord_less_eq_nat M2) N)))))) (forall ((N nat) (M2 nat)) (= ((ord_less_eq_nat (suc N)) (suc M2)) ((ord_less_eq_nat N) M2))) (forall ((T nat)) (exists ((Z3 nat)) (forall ((X5 nat)) (=> ((ord_less_nat Z3) X5) (not ((ord_less_nat X5) T)))))) (forall ((N nat)) (exists ((Xs3 list_nat)) (= (size_size_list_nat Xs3) N))) (forall ((A nat) (B nat)) (=> ((ord_less_nat A) B) (not ((ord_less_nat B) A)))) (= ord_less_nat (lambda ((N2 nat) (A2 nat)) (forall ((X3 nat)) (=> ((ord_less_eq_nat A2) X3) (not (= N2 X3)))))) (forall ((M2 nat) (N nat)) (let ((_let_1 (ord_less_nat M2))) (=> (_let_1 N) (_let_1 (suc N))))) (forall ((N nat) (M2 nat)) (let ((_let_1 (ord_less_nat N))) (=> (not (_let_1 M2)) (=> (_let_1 (suc M2)) (= M2 N))))) (forall ((M2 nat) (N nat)) (=> ((ord_less_eq_nat (suc M2)) N) ((ord_less_eq_nat M2) N))) (not false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 11.98/12.26 ) 11.98/12.26 % SZS output end Proof for theBenchmark 12.13/12.26 EOF